package com.zzyl.service;

import com.zzyl.base.PageResponse;
import com.zzyl.dto.NursingPlanDto;
import com.zzyl.vo.NursingPlanVo;

import java.util.List;

public interface NursingPlanService {

    /**
     * 分页查询护理计划
     * @param name 护理计划名称
     * @param status 护理计划状态
     * @param pageNum 当前页码
     * @param pageSize 显示数据条数
     * @return
     */
    PageResponse<NursingPlanVo> getByPage(String name, Integer status, Integer pageNum, Integer pageSize);

    /**
     * 添加护理计划
     * @param nursingPlanDto 护理计划内容
     * @return
     */
    void addPlan(NursingPlanDto nursingPlanDto);

    /**
     * 删除护理计划
     * @param id 要删除的护理计划id
     * @return
     */
    void delete(Long id);


    /**
     * 根据id查询护理计划计划
     * @param id 护理计划id
     * @return 护理计划详情
     */
    NursingPlanVo getById(Long id);


    /**
     * 编辑护理计划
     * @param nursingPlanDto 护理计划信息
     * @return
     */
    void updatePlan(NursingPlanDto nursingPlanDto);

    /**
     * 改变护理计划状态
     * @param id 护理计划id
     * @param status 状态
     * @return
     */
    void updateStatus(Long id, Integer status);

    /**
     * 查询所有护理计划
     * @return
     */
    List<NursingPlanVo> getAllPlan();
}
